課程內容與代碼會放在 Github 上: https://github.com/chechiachang/terraform-30-days
賽後文章會整理放到個人的部落格上 http://chechia.net/
這篇文章是上一篇:Day 01-引言:Terraform 是個好東西的延伸內容。
本堂課程希望大家都能有 hands-on 動手做的經驗,也提供由淺入深的範例,幫助大家學習。
建議學習環境
請下載安裝 Terraform: Official guide,你可以依照自己的作業系統下載。本課程會以 Mac OS / Linux 操作為例,直接下載 Terraform Binary,並放置在 path 目錄中:
OS=darwin
ARCH=amd64
VERSION=1.0.1
wget "https://releases.hashicorp.com/terraform/${VERSION}/terraform_${VERSION}_${OS}_${ARCH}.zip"
unzip "terraform_${VERSION}_${OS}_${ARCH}.zip"
sudo mv terraform /usr/local/bin
檢查 Terraform 的版本
terraform version
Terraform v1.0.1
on darwin_amd64
這堂課是 Terraform + 公有雲的操作 workshop,因此除了安裝 Terraform 等本地 binary 套件以外,還需要取得有效的公有雲帳號,例如:
底下會先說明公有雲的注意事項,以及如何取得並設定公有雲帳號
雲端架構師的核心能力之一,是控制公有雲服務花費。本課程使用公有雲資源,過程中可能會產生費用,在此特別說明。
課程沒有任何費用,然而公有雲是需要收費的,或是使用免費的產品。如果只是為了學習與熟悉,而不是建構生產環境,本課程建議學生可以參考公有雲提供的 Free Trial & Free Plan。正確操作課程的範例,費用都會落在免費的範圍中。
公有雲為推廣各家產品,都有提供免費產品,例如:
使用免費來練習的朋友
使用付費帳號來練習的朋友
了解費用後,以下介紹如何取得 Azure 免費帳號
本機已經安裝 Terraform ,那 Terraform 要如何使用 azure 來登入?有幾個方法,這邊我們使用 az-cli 來登入,把登入資訊留在本機上 ~/.azure/accessToken.json
供 Terraform 使用
Mac 使用者可以使用 homebrew
brew install azure-cli
az version
安裝完成後,請執行登入,會跳轉 web browser,執行登入。成功後會獲得登入資訊
az login
You have logged in. Now let us find all the subscriptions to which you have access...
{
"cloudName": "AzureCloud",
"homeTenantId": "12345678-1234-1234-1234-123456789012",
"id": "12345678-1234-1234-1234-123456789012",
"isDefault": true,
"managedByTenants": [],
"name": "...",
"state": "Enabled",
"tenantId": "12345678-1234-1234-1234-123456789012",
"user": {
"name": "chechia@chechia.net",
"type": "user"
}
}
]
檢查本機的資訊
cat ~/.azure/accessTokens.json | jq
$ git --version
git version 2.30.1 (Apple Git-130)
$ jq -h
jq - commandline JSON processor [version 1.6]
Usage: jq [options] <jq filter> [file...]
jq [options] --args <jq filter> [strings...]
jq [options] --jsonargs <jq filter> [JSON_TEXTS...]